package com.mingyuan.library.domain.lending.patron.event;

import com.mingyuan.library.domain.lending.book.model.valueobject.BookType;
import lombok.NonNull;
import lombok.Value;

import java.time.Instant;
import java.util.UUID;

/**
 * 归还图书
 * @author yangzk
 * @date 2024/1/16 11:23
 **/
@Value
public class BookReturned implements PatronEvent {
    /**
     * 事件ID
     */
    @NonNull
    UUID eventId = UUID.randomUUID();
    /**
     * 归还时间
     */
    @NonNull
    Instant when;
    /**
     * 读者ID
     */
    @NonNull
    UUID patronId;
    /**
     * 图书ID
     */
    @NonNull
    UUID bookId;
    /**
     * 图书类型
     */
    @NonNull
    BookType bookType;
    /**
     * 图书馆分馆ID
     */
    @NonNull
    UUID libraryBranchId;
}